﻿using System;
using SqlSugar;

namespace NP.BPMReportPlatform.Entities.BPM_Engine
{
    ///<summary>
    ///流程实例任务
    /// 引擎表的Tasks
    ///</summary>
    [SugarTable("Tasks")]
    public class Tasks
    {
        /// <summary>
        /// Desc:主键
        /// Default:
        /// Nullable:False
        /// </summary>           
        [SugarColumn(IsPrimaryKey = true)]
        public string TaskId { get; set; }

        /// <summary>
        /// Desc:任务类型枚举
        /// Default:
        /// Nullable:True
        /// </summary>           
        public int? Type { get; set; }

        /// <summary>
        /// Desc:来源的任务id
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string SourceId { get; set; }

        /// <summary>
        /// Desc:等待的任务id
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string WaitingId { get; set; }

        /// <summary>
        /// Desc:流程实例主键
        /// Default:
        /// Nullable:False
        /// </summary>           
        public int InstanceId { get; set; }

        /// <summary>
        /// Desc:流程实例编号
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string InstanceNumber { get; set; }

        /// <summary>
        /// Desc:流程实例主题
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string InstanceTopic { get; set; }

        /// <summary>
        /// Desc:流程实例活动id
        /// Default:
        /// Nullable:False
        /// </summary>           
        public string ActivityId { get; set; }

        /// <summary>
        /// Desc:流程实例活动名称
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string ActivityName { get; set; }

        /// <summary>
        /// Desc:流程实例活动处理者id
        /// Default:
        /// Nullable:True
        /// </summary>           
        public int? ActivityResolverId { get; set; }

        /// <summary>
        /// Desc:流程实例活动处理者名称
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string ActivityResolverName { get; set; }

        /// <summary>
        /// Desc:用户id
        /// Default:
        /// Nullable:False
        /// </summary>           
        public string UserId { get; set; }

        /// <summary>
        /// Desc:用户名称
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string UserName { get; set; }

        /// <summary>
        /// Desc:实际处理用户id
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string ResolveUserId { get; set; }

        /// <summary>
        /// Desc:实际处理用户名称
        /// Default:
        /// Nullable:True
        /// </summary>           
        public string ResolveUserName { get; set; }

        /// <summary>
        /// Desc:状态枚举
        /// Default:
        /// Nullable:True
        /// </summary>           
        public int? Status { get; set; }

        /// <summary>
        /// Desc:到达时间
        /// Default:
        /// Nullable:True
        /// </summary>           
        public DateTime? ArriveTime { get; set; }

        /// <summary>
        /// Desc:完成时间
        /// Default:
        /// Nullable:True
        /// </summary>           
        public DateTime? FinishTime { get; set; }

        /// <summary>
        /// Desc:耗时（秒）
        /// Default:
        /// Nullable:True
        /// </summary>           
        public int? ElapsedTime { get; set; }

        /// <summary>
        /// Desc:是否已读
        /// Default:
        /// Nullable:True
        /// </summary>           
        public byte? IsRead { get; set; }
    }
}